/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package javaapplication6.PBO1.src.pbo1;

/**
 *
 * @author admin
 */
public abstract class Pegawai {
   private double GAJI_PER_JAM=30000;
    private String nip;
    private String nama;
    private double gaji_pokok;
    private double jam_lembur;
    private int jumlah_anak;

    public Pegawai() {
    }
    
    public Pegawai(String nip,String nama)
    {
        this.setNip(nip);
        this.setNama(nama);
    }
    public double tunjanganKeluarga()
    {
        return getJumlah_anak()*0.1*getGaji_pokok();
    }
    
    public double gajiLembur()
    {
        return getJam_lembur()*getGAJI_PER_JAM();
    }
    
    public abstract double gajiTotal();
//    {
//        return tunjanganKeluarga()+gajiLembur()+getGaji_pokok();
//    }

    /**
     * @return the GAJI_PER_JAM
     */
    public double getGAJI_PER_JAM() {
        return GAJI_PER_JAM;
    }

    /**
     * @param GAJI_PER_JAM the GAJI_PER_JAM to set
     */
    public void setGAJI_PER_JAM(double GAJI_PER_JAM) {
        this.GAJI_PER_JAM = GAJI_PER_JAM;
    }

    /**
     * @return the nip
     */
    public String getNip() {
        return nip;
    }

    /**
     * @param nip the nip to set
     */
    public void setNip(String nip) {
        this.nip = nip;
    }

    /**
     * @return the nama
     */
    public String getNama() {
        return nama;
    }

    /**
     * @param nama the nama to set
     */
    public void setNama(String nama) {
        this.nama = nama;
    }

    /**
     * @return the gaji_pokok
     */
    public double getGaji_pokok() {
        return gaji_pokok;
    }

    /**
     * @param gaji_pokok the gaji_pokok to set
     */
    public void setGaji_pokok(double gaji_pokok) {
        this.gaji_pokok = gaji_pokok;
    }

    /**
     * @return the jam_lembur
     */
    public double getJam_lembur() {
        return jam_lembur;
    }

    /**
     * @param jam_lembur the jam_lembur to set
     */
    public void setJam_lembur(double jam_lembur) {
        this.jam_lembur = jam_lembur;
    }

    /**
     * @return the jumlah_anak
     */
    public int getJumlah_anak() {
        return jumlah_anak;
    }

    /**
     * @param jumlah_anak the jumlah_anak to set
     */
    public void setJumlah_anak(int jumlah_anak) {
        this.jumlah_anak = jumlah_anak;
    }
}
